package com.jin.webvideo.externalInterfaces.video;

import com.jin.webvideo.exception.UnavailableServiceException;
import com.jin.webvideo.externalInterfaces.entity.Filmography;
import com.jin.webvideo.externalInterfaces.entity.FilmographyInfo;

import java.util.List;

public interface VideoAPI {
    /**
     * 获取基本信息，不包括单集信息
     * @param docid
     * @param tvid
     * @return
     * @throws UnavailableServiceException
     */
    Filmography baseInfo(String docid, String tvid) throws UnavailableServiceException;

    /**
     * 获取基本信息，包括单集信息
     * @param docid
     * @param tvid
     * @param pageNo
     * @param pageSize
     * @return
     * @throws UnavailableServiceException
     */
    Filmography baseInfoWithVideoInfoList(String docid, String tvid, Integer pageNo, Integer pageSize) throws UnavailableServiceException;

    /**
     * 从filmography设置当前请求的tvid
     * @param filmography
     * @param tvid
     * @return
     * @throws UnavailableServiceException
     */
    Filmography setActive(final Filmography filmography, final String tvid) throws UnavailableServiceException;

    /**
     * 获取剧集列表信息
     * @param docid
     * @param tvid
     * @param pageNo
     * @param pageSize
     * @return
     * @throws UnavailableServiceException
     */
    List<FilmographyInfo> videoInfoList(String docid, String tvid, Integer pageNo, Integer pageSize) throws UnavailableServiceException;

}
